#include<iostream>
using namespace std;

template<class T>
struct List_Node
{
	List_Node<T>* next;
	List_Node<T>* prev;

	int _data;

	List_Node(const T& x = T())
		:next(nullptr)
		,prev(nullptr)
		,_data(x)
	{}
};

template<class T>
class list
{
	typedef List_Node<T> node;
public:

private:
	iterator 
};










int main()
{



	return 0;
}